home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 21 / AACD 21.iso / AACD / Utilities / Ghostscript / src / gdevpxen.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-01-01  |  5.9 KB  |  264 lines

  1. /* Copyright (C) 1997, 1998, 2000 Aladdin Enterprises.  All rights reserved.
  2.   
  3.   This file is part of AFPL Ghostscript.
  4.   
  5.   AFPL Ghostscript is distributed with NO WARRANTY OF ANY KIND.  No author or
  6.   distributor accepts any responsibility for the consequences of using it, or
  7.   for whether it serves any particular purpose or works at all, unless he or
  8.   she says so in writing.  Refer to the Aladdin Free Public License (the
  9.   "License") for full details.
  10.   
  11.   Every copy of AFPL Ghostscript must include a copy of the License, normally
  12.   in a plain ASCII text file named PUBLIC.  The License grants you the right
  13.   to copy, modify and redistribute AFPL Ghostscript, but only under certain
  14.   conditions described in the License.  Among other things, the License
  15.   requires that the copyright notice and this notice be preserved on all
  16.   copies.
  17. */
  18.  
  19. /*$Id: gdevpxen.h,v 1.3 2000/09/19 19:00:22 lpd Exp $ */
  20. /* Enumerated attribute value definitions for PCL XL */
  21.  
  22. #ifndef gdevpxen_INCLUDED
  23. #  define gdevpxen_INCLUDED
  24.  
  25. typedef enum {
  26.     eClockWise = 0,
  27.     eCounterClockWise,
  28.     pxeArcDirection_next
  29. } pxeArcDirection_t;
  30.  
  31. typedef enum {
  32.     eNoSubstitution = 0,
  33.     eVerticalSubstitution,
  34.     pxeCharSubModeArray_next
  35. } pxeCharSubModeArray_t;
  36.  
  37. typedef enum {
  38.     eNonZeroWinding = 0,
  39.     eEvenOdd,
  40.     pxeClipMode_next,
  41.     pxeFillMode_next = pxeClipMode_next        /* see pxeFillMode_t below */
  42. } pxeClipMode_t;
  43.  
  44. typedef enum {
  45.     eInterior = 0,
  46.     eExterior,
  47.     pxeClipRegion_next
  48. } pxeClipRegion_t;
  49.  
  50. typedef enum {
  51.     e1Bit = 0,
  52.     e4Bit,
  53.     e8Bit,
  54.     pxeColorDepth_next
  55. } pxeColorDepth_t;
  56.  
  57. typedef enum {
  58.     eCRGB = 5,            /* Note: for this enumeration, 0 is not a valid value */
  59.     pxeColorimetricColorSpace_next
  60. } pxeColorimetricColorSpace_t;    /* 2.0 */
  61.  
  62. typedef enum {
  63.     eDirectPixel = 0,
  64.     eIndexedPixel,
  65.     pxeColorMapping_next
  66. } pxeColorMapping_t;
  67.  
  68. typedef enum {
  69.     eNoColorSpace = 0,        /* Note: for this enumeration, 0 is not a valid value */
  70.     eGray,
  71.     eRGB,
  72.     eSRGB = 6,        /* 2.0, Note: HP's value is 6 not the expected 3 */
  73.     pxeColorSpace_next
  74. } pxeColorSpace_t;
  75.  
  76. typedef enum {
  77.     eNoCompression = 0,
  78.     eRLECompression,
  79.     eJPEGCompression,        /* 2.0 */
  80.     pxeCompressMode_next
  81. } pxeCompressMode_t;
  82.  
  83. typedef enum {
  84.     eBinaryHighByteFirst = 0,
  85.     eBinaryLowByteFirst,
  86.     pxeDataOrg_next        /* is this DataOrg or DataOrganization? */
  87. } pxeDataOrg_t;
  88.  
  89. typedef enum {
  90.     eDefault = 0,        /* bad choice of name! */
  91.     pxeDataSource_next
  92. } pxeDataSource_t;
  93.  
  94. typedef enum {
  95.     eUByte = 0,
  96.     eSByte,
  97.     eUInt16,
  98.     eSInt16,
  99.     pxeDataType_next
  100. } pxeDataType_t;
  101.  
  102. typedef enum {
  103.     eDownloaded = -1,        /* Not a real value, indicates a downloaded matrix */
  104.     eDeviceBest = 0,
  105.     pxeDitherMatrix_next
  106. } pxeDitherMatrix_t;
  107.  
  108. typedef enum {
  109.     eDuplexHorizontalBinding = 0,
  110.     eDuplexVerticalBinding,
  111.     pxeDuplexPageMode_next
  112. } pxeDuplexPageMode_t;
  113.  
  114. typedef enum {
  115.     eFrontMediaSide = 0,
  116.     eBackMediaSide,
  117.     pxeDuplexPageSide_next
  118. } pxeDuplexPageSide_t;
  119.  
  120. typedef enum {
  121.     /* Several pieces of code know that this is a bit mask. */
  122.     eNoReporting = 0,
  123.     eBackChannel,
  124.     eErrorPage,
  125.     eBackChAndErrPage,
  126.     eNWBackChannel,        /* 2.0 */
  127.     eNWErrorPage,        /* 2.0 */
  128.     eNWBackChAndErrPage,    /* 2.0 */
  129.     pxeErrorReport_next
  130. } pxeErrorReport_t;
  131.  
  132. typedef pxeClipMode_t pxeFillMode_t;
  133.  
  134. typedef enum {
  135.     eButtCap = 0,
  136.     eRoundCap,
  137.     eSquareCap,
  138.     eTriangleCap,
  139.     pxeLineCap_next
  140. } pxeLineCap_t;
  141.  
  142. #define pxeLineCap_to_library\
  143.   { gs_cap_butt, gs_cap_round, gs_cap_square, gs_cap_triangle }
  144.  
  145. typedef enum {
  146.     eMiterJoin = 0,
  147.     eRoundJoin,
  148.     eBevelJoin,
  149.     eNoJoin,
  150.     pxeLineJoin_next
  151. } pxeLineJoin_t;
  152.  
  153. #define pxeLineJoin_to_library\
  154.   { gs_join_miter, gs_join_round, gs_join_bevel, gs_join_none }
  155.  
  156. typedef enum {
  157.     eInch = 0,
  158.     eMillimeter,
  159.     eTenthsOfAMillimeter,
  160.     pxeMeasure_next
  161. } pxeMeasure_t;
  162.  
  163. #define pxeMeasure_to_points { 72.0, 72.0 / 25.4, 72.0 / 254.0 }
  164.  
  165. typedef enum {
  166.     eDefaultDestination = 0,
  167.     eFaceDownBin,        /* 2.0 */
  168.     eFaceUpBin,            /* 2.0 */
  169.     eJobOffsetBin,        /* 2.0 */
  170.     pxeMediaDestination_next
  171. } pxeMediaDestination_t;
  172.  
  173. typedef enum {
  174.     eLetterPaper = 0,
  175.     eLegalPaper,
  176.     eA4Paper,
  177.     eExecPaper,
  178.     eLedgerPaper,
  179.     eA3Paper,
  180.     eCOM10Envelope,
  181.     eMonarchEnvelope,
  182.     eC5Envelope,
  183.     eDLEnvelope,
  184.     eJB4Paper,
  185.     eJB5Paper,
  186.     eB5Envelope,
  187.     eJPostcard,
  188.     eJDoublePostcard,
  189.     eA5Paper,
  190.     eA6Paper,            /* 2.0 */
  191.     eJB6Paper,            /* 2.0 */
  192.     pxeMediaSize_next
  193. } pxeMediaSize_t;
  194.  
  195. /*
  196.  * Apply a macro (or procedure) to all known paper sizes.
  197.  * The arguments are:
  198.  *      media size code, resolution for width/height, width, height.
  199.  */
  200. #define px_enumerate_media(m)\
  201.   m(eLetterPaper, 300, 2550, 3300)\
  202.   m(eLegalPaper, 300, 2550, 5300)\
  203.   m(eA4Paper, 300, 2480, 3507)\
  204.   m(eExecPaper, 300, 2175, 3150)\
  205.   m(eLedgerPaper, 300, 3300, 5100)\
  206.   m(eA3Paper, 300, 3507, 4960)\
  207.   m(eCOM10Envelope, 300, 1237, 2850)\
  208.   m(eMonarchEnvelope, 300, 1162, 2250)\
  209.   m(eC5Envelope, 300, 1913, 2704)\
  210.   m(eDLEnvelope, 300, 1299, 2598)\
  211.   m(eB5Envelope, 300, 2078, 2952)
  212.  
  213. typedef enum {
  214.     eDefaultSource = 0,
  215.     eAutoSelect,
  216.     eManualFeed,
  217.     eMultiPurposeTray,
  218.     eUpperCassette,
  219.     eLowerCassette,
  220.     eEnvelopeTray,
  221.     eThirdCassette,        /* 2.0 */
  222.     pxeMediaSource_next
  223. } pxeMediaSource_t;
  224.  
  225. /**** MediaType is not documented. ****/
  226. typedef enum {
  227.     eDefaultType = 0,
  228.     pxeMediaType_next
  229. } pxeMediaType_t;
  230.  
  231. typedef enum {
  232.     ePortraitOrientation = 0,
  233.     eLandscapeOrientation,
  234.     eReversePortrait,
  235.     eReverseLandscape,
  236.     pxeOrientation_next
  237. } pxeOrientation_t;
  238.  
  239. typedef enum {
  240.     eTempPattern = 0,
  241.     ePagePattern,
  242.     eSessionPattern,
  243.     pxePatternPersistence_next
  244. } pxePatternPersistence_t;
  245.  
  246. typedef enum {
  247.     eSimplexFrontSide = 0,
  248.     pxeSimplexPageMode_next
  249. } pxeSimplexPageMode_t;
  250.  
  251. typedef enum {
  252.     eOpaque = 0,
  253.     eTransparent,
  254.     pxeTxMode_next
  255. } pxeTxMode_t;
  256.  
  257. typedef enum {
  258.     eHorizontal = 0,
  259.     eVertical,
  260.     pxeWritingMode_next
  261. } pxeWritingMode_t;        /* 2.0 */
  262.  
  263. #endif /* gdevpxen_INCLUDED */
  264.